home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Network Support Library
/
RoseWare - Network Support Library.iso
/
btrieve
/
btr510.exe
/
BPATNLM.511
< prev
next >
Wrap
Text File
|
1991-10-14
|
17KB
|
528 lines
; PATCHES FOR BTRIEVE.NLM ver 5.10 for Netware 3.10
;
; * * * * * * * * * * * * * * * * * * * * * * * * * *
;
; 1. Btrieve (NLM) (XREF v5.10 PATCH #14)
;
; An incompetibility with the rest of the Btrieve products:
; The Get Position operation following a Delete operation returns
; status 43 instead of status 8.
;
; beginning of patch #1
r 4278 8
;
; end of patch #1
;
; * * * * * * * * * * * * * * * * * * * * * * * * * *
;
; 2. Btrieve (NLM) (XREF v5.10 PATCH #19)
;
; Without this patch various random error status can be returned when using
; variable length pages or using truncation.
;
; beginning of patch #2
r 933e 90 90 90 90 90 90 90 90 90 90 90
r 935a 18
;
; end of patch #2
;
; * * * * * * * * * * * * * * * * * * * * * * * * * *
;
; 3. Btrieve (NLM) (XREF v5.10 PATCH #21)
;
; The Btrieve function to compare INTEGER keys will sometimes not
; recognize a negative value, such as 8000h, as the lower value, treating
; it as unsigned instead.
; ( This patch was originally buggy and had to be corrected on 29Oct90. )
;
; beginning of patch #3 ( Corrected 10-29-90 )
;
r 50c2 0F B7 42 16 D1 E8 48 8B D3 8B D9 66 8B C8 03 C0
r 50d2 03 D0 03 C3 66 8B 1A 66 3B 18 7E 06 66 BB 01 00
r 50e2 EB 0B 74 06 66 BB FF FF EB 03 66 33 DB 66 85 C9
r 50f2 74 17 66 49 66 85 DB 75 10 83 E8 02 83 EA 02
r 5101 66 8B 1A 66 3B 18 76 DB EB D3 66 8B C3 C3 90 90
;
; end of patch #3
;
; * * * * * * * * * * * * * * * * * * * * * * * * * *
;
; 4. Btrieve (NLM) (XREF v5.10 PATCH #22)
;
; If 1. User1 and User2 have different files open ( A and B ) and
; 2. User3 also opens file A and
; 3. User4 also opens file B while
; 4. User2 is simultaneously CLOSING file B
; a timing window may appear which causes a divide-by-0 GPI. This patch
; corrects a semaphore to fix this.
; ( This patch was modified on 29Oct90 to allow correction to #21, above. )
;
; beginning of patch #4 ( Modified 10-29-90, per patch #3 )
;
r c9e2 0f bf c3 6b c0 75 80 4c 02 74 40 e9 4e ec ff ff
;
r b64a eb 1a 90
;
r b664 eb 0f 83 c4 0c 90
;
r b670 e9 7a 13 00 00
;
; end of patch #4
;
; * * * * * * * * * * * * * * * * * * * * * * * * * *
;
; 5. Btrieve (NLM) (XREF v5.10 PATCH #24)
;
; Get Key-only operations are erroneously not updating the position block.
;
; beginning of patch #5
;
r 4d1b eb 0c
;
; end of patch #5
;
; * * * * * * * * * * * * * * * * * * * * * * * * * *
;
; 6. Btrieve (NLM) (XREF v5.10 PATCH #26)
;
; If a Btrieve file has a ZSTRING or LSTRING key using alternate collating
; sequence then a key value of length 0 for that key can result in some
; undeterministic error due to an uninitialized variable.
;
; beginning of patch #6 ( MUST have patch #3 also!!! )
;
r 5111 89 e5 83 ec 10 66 c7 45 fc 00 00 e9 d8 fe ff ff
;
r 4ff4 e9 18 01 00 00
;
; end of patch #6
;
; * * * * * * * * * * * * * * * * * * * * * * * * * *
;
; 7. Btrieve (NLM) & BREQUEST (XREF v5.10 PATCH #27)
;
; For data-only files, Btrieve was returning data to the key buffer
; after Get Direct, Update, Insert and Extended Insert.
; *** THE PATCH MUST BE MADE BOTH TO THE VAP (OR NLM) AND THE REQUESTER ***
; THE VAP (OR NLM) SENDS A FLAG TO THE REQUESTER- IF YOU DON'T PATCH
; THE REQUESTER THE FLAG WILL NOT BE UNDERSTOOD AND THE PROBLEM WILL
; STILL BE PRESENT.
;
; beginning of patch #7
;
r e1c f6 45 ef 80 90
;
r 5b0a 80 4e 31 80 90 90
;
r 7ea9 80 4e 31 80 90 90
;
r 1ba7 f6 c5 80
;
r 1e99 8a 5d 5f 08 5e 0f 90 90 90 90 90
;
r 41a7 75 6f 83 7d f8 00 0f 84 fd 87 00 00
;
r c9a3 80 4e 31 40 e9 5f 78 ff ff
;
r 5bf0 e9 92 6d 00 00 90
;
r c97a 74 09 89 f0 31 d2 e9 64 92 ff ff 80 4e 31 40 e9 6b 92 ff ff
;
r 6914 e9 82 60 00 00 90 90
;
r c98e 66 85 c0 75 04 80 4e 31 40 8b 55 62 0f b7 52 08 e9 6b 9f ff ff
;
; end of patch #7
;
; * * * * * * * * * * * * * * * * * * * * * * * * * *
;
; 8. Btrieve (NLM) (XREF v5.10 PATCH #29)
;
; This fixes a bug where a file opened by Btrieve on the server could
; not be opened for read-only by a non-Btrieve application, even though
; the file had the Shareable attribute set by the Netware FLAG utility.
;
; beginning of patch #8
;
r 148e 1b
;
; end of patch #8
;
; * * * * * * * * * * * * * * * * * * * * * * * * * *
;
; 9. Btrieve (NLM) (XREF v5.10 PATCH #32)
;
; This fixes a bug in an undocumented Btrieve function call, used by
; Netware SQL. Only apply this patch after applying patch #27!
;
; beginning of patch #9 (Must have patch #7 also!!)
;
r 7e1c eb 41
r 7e39 C6 44 10 60 01 66 a1 eb 02 00 00 66 89 46 26 89
r 7e49 f0 8d 55 22 8d 5d 62 e8 d0 95 ff ff 85 c0 74 06
r 7e59 66 bb 19 00 eb 3a ff 36 6a 09 0f b7 c7 6b c0 72
r 7e69 8b 15 4e 06 00 00 01 d0 8d 58 0c 89 f0 8b 55 62
r 7e79 33 C9 b1 2e e8 95 96 ff ff 93 0f b7 c7 3b 05 eb
r 7e89 02 00 00 7c 1f 89 f0 8b 55 62 e8 50 96 ff ff 93
r 7e99 6b 05 eb 02 00 00 72 8b 15 4e 06 00 00 66 c7 44
r 7ea9 02 60 00 00 80 4e 31 80 e9 4e 02 00 00 90
r 52 1d
r d0a2 eb
r d0a6 e4
r d0aa d1
r d0ae b4
r d0b2 89
m d0b6 d0ba 860
;
;
; end of patch #9
;
; * * * * * * * * * * * * * * * * * * * * * * * * * *
;
;10. Btrieve (NLM) (XREF v5.10 PATCH #33)
;
; This fixes the following bug: after a Get Direct returns a status 22
; (user's data buffer too small), the user's key buffer was being
; overwritten with garbage. It also fixes a bug in which the NLM
; was not returning a key value after a Get Direct returns a status 22
; when the user's data buffer WAS long enough to at least receive the
; fixed length portion (including the keys) of the record.
; *** THIS PATCH WILL ONLY WORK IF PATCH #27 HAS BEEN APPLIED TO THE ***
; NLM AND BREQUEST.EXE !!!
;
; beginning of patch #10. (Must have patch #7 also!!)
;
r 40fb 1a c6 45 e7 00 89 c6 e8 3b e4 ff ff 66 89 c2 66 85 c0 75 4c
r 4130 38
r 415b 75 71
m 415d 4161 16
r 4173 e8 8e 0b 00 00 66 3d 16 00 75 08 88 45 e7 e8 33 88 00 00
r 4186 92 66 85 d2 75 5d 0f b6 46 13 83 f8 ff 74 54
r 421b 75 07 8a 55 e7 84 d2 74 27 66 83 fa 16 74 21 8b
r 422b 46 08 c7 40 38 ff ff ff ff c7 40 07 ff ff ff ff
r 423b c7 40 0b ff ff ff ff 90 90
r c9ac 8b 56 18 8b 12 0f b7 52 16 8b 46 04 3b 10 77 03
r c9bc 33 c0 c3 80 4e 31 40 66 b8 16 00 c3
;
; end of patch #10.
;
; * * * * * * * * * * * * * * * * * * * * * * * * * *
;
;11. Btrieve (NLM) (XREF v5.10 PATCH #37)
;
; Fixes a bug which caused Btrieve to return an incorrect status 2
; when deleting a record from a file with a supplemental index.
; This bug is most likely to occur only if few records have been inserted
; since the creation of the supplemental index. The bug only occurs
; on the VAP or DOS if the supplemental index was created with the NLM.
;
; beginning of patch #11.
;
r 6656 b1
r 6703 75 34 8b 45 dc 89 45 ec 8b 45 ec 66 8b 40 06 66 3b 46 10
r 6716 73 25 8b 45 ec 8b 00 30 e4 8b 16 32 f6 3b c2
r 673b eb ce
;
; end of patch #11.
;
; * * * * * * * * * * * * * * * * * * * * * * * * * *
;
;12. Btrieve (NLM) (XREF v5.10 PATCH #47)
;
; When many workstations are constantly updating the same file, a timing
; window can appear which results in cache corruption. The effects can
; range from file corruption to abends due to divide/by/zero or processor
; exception interrupts.
;
; beginning of patch #12.
;
r 801 0d
r 806 53 e8 c9 c1 00 00 5b
r c9c8 03 C1 66 8B 5A 16 66 39 58
r c9d1 6E 75 0d C6 82 8c 00 00 00 00 66 C7 40 6E 00 00 C3
;
; end of patch #12.
;
; * * * * * * * * * * * * * * * * * * * * * * * * * *
;
;13. Btrieve (NLM) (XREF v5.10 PATCH #48)
;
; When ending a transaction on multiple files of different page sizes, the
; cache can become corrupted, causing the next reader of a file in the
; cache to get errors #15 and/or #52.
;
; beginning of patch #13. ( Needs patch #3 also - Corrected 12-12-90 )
;
r 5121 53 50 e8 86 d4 ff ff 8b d8 58 53 e8 1a f9 ff ff 58 5b c3
r 5134 90 90 90 90 90 90 90
r 79cc 51 d7 ff ff
r 7b1a 03 d6 ff ff
;
; end of patch #13.
;
; * * * * * * * * * * * * * * * * * * * * * * * * * *
;
;16. Btrieve (NLM) (XREF v5.10 PATCH #57)
;
; This bug caused a GET_NEXT to fail with a status 8 immediately after
; an extended insert, but only if the insert followed an open call.
;
; beginning of patch #16.
;
r c8b1 58
;
; end of patch #16.
;
; * * * * * * * * * * * * * * * * * * * * * * * * * *
;
;17. Btrieve (NLM) (XREF v5.10 PATCH #59)
;
; Multiple segmented null keys are not working; they either inserted into
; the index (if duplicates are allowed) or the first occurance is inserted
; into the index and status 5 is returned for the rest of the time (if
; duplicates are not allowed).
;
; beginning of patch #17
;
r 57e6 0c
;
; end of patch #17
;
; * * * * * * * * * * * * * * * * * * * * * * * * * *
;
;18. Btrieve (NLM) (XREF v5.10 PATCH #60)
;
; For a KEY-ONLY file which is small enough to fit on a single page, the
; operations sequence OPEN-GET LAST(KEY)- GET PREVIOUS(KEY) [0-63-57] can
; cause the server to hang in a loop.
;
; beginning of patch #18
;
r 3065 90 90 90
;
; end of patch #18
;
; * * * * * * * * * * * * * * * * * * * * * * * * * *
;
;19. Btrieve (NLM) (XREF v5.10 PATCH #61)
;
; An Extended Insert called with a data buffer of all 0's (no data) would
; return a random, uninitialized error value instead of the correct #63.
;
; beginning of patch #19
;
r 1f9b c3 89 c2 8b 00 8b 1a 66 c7 45 fc 3f 00 c3
;
r 61e2 e8 b5 bd ff ff 90
;
; end of patch #19
;
; * * * * * * * * * * * * * * * * * * * * * * * * * *
;
;20. Btrieve (NLM) (XREF v5.10 PATCH #63)
;
; Btrieve may return a status 9 (End of File) prematurely when Step Direct
; is used to retrieve records from a file with greater than 65,535 pages
; (i.e., at least 32 megabytes, depending on page size).
;
; beginning of patch #20
;
r 3f35 90 90 90 90 e8 c1 8a 00 00
r c9f2 66 c7 45 f0 06 00 3b 46 26 72 07 66 3b 46 26 75 01 f8 c3
;
; end of patch #20
;
; * * * * * * * * * * * * * * * * * * * * * * * * * *
;
;21. Btrieve (NLM) (XREF v5.10 PATCH #66)
;
; This fixes a bug in an undocumented Btrieve function call, used by
; XQL and NetWare SQL. The bug caused Netware SQL/XQL to return a
; status 25 when logging in.
;
; beginning of patch #21
;
r b37c 0f
r b38a eb 14 80 7e 13 82 74 0e 66 c7 46 14 19 00 eb a9
r b39a 00 00 00 00 00 00 66 89 5e 26
r cebe e3
;
; end of patch #21
;
; * * * * * * * * * * * * * * * * * * * * * * * * * *
;
;24. Btrieve (NLM) (XREF v5.10 PATCH #71)
;
; When an application does a Step Next or Step Previous (or Extended
; Step Next/Previous) after a Delete, Btrieve should return a status
; 8, Invalid Positioning. Instead, this bug causes it to go into an
; endless loop. With the VAP & NLM, the workstation will appear to be
; hung, too. This patch fixes that bug. (The bug only appears if the
; record deleted has a physical position > 0xffff.) Also fixed is a
; related symptom of this bug: DOS, Windows and OS/2 Btrieve incorrectly
; return a status 0 if you do a Get Position after a Delete.
;
; beginning of patch #24
;
r 3e74 e8 99 8b 00 00
r 3e79 73 06
r 3e7b 66 89 45 F8
r 3e7f eb 15
r ca05 75 06
r ca07 66 B8 29 00
r ca0b F9
r ca0c C3
r ca0d 8B 47 08
r ca10 F6 40 39 80
r ca14 75 02
r ca16 F8
r ca17 C3
r ca18 66 B8 08 00
r ca1c F9
r ca1d C3
;
; end of patch #24
;
; * * * * * * * * * * * * * * * * * * * * * * * * * *
;
;25. Btrieve (NLM) (XREF v5.10 PATCH #72)
;
; If station #1 is doing GETEQUALs with a key and client #2 is doing
; DELETES on the same file using a different key, the system can sometimes
; get confused about which key was last used by #1, returning a status 7.
;
; beginning of patch #25
;
r 1f5e 8a 46 0f 88 45 f1 8b 43 38 eb 04
r 1f6d 89 45 6e
;
; end of patch #25
;
; * * * * * * * * * * * * * * * * * * * * * * * * * *
;
;26. Btrieve (NLM) (XREF v5.10 PATCH #75)
;
; XQLP and SQL returned status 82 on a user-defined sort at the NLM due
; to a bug in an undocumented Btrieve function.
;
; beginning of patch #26 (MUST have patch #10 also!)
;
r 418d be
r 4e54 be
;
; end of patch #26
;
; * * * * * * * * * * * * * * * * * * * * * * * * * *
;
;27. Btrieve (NLM) (XREF v5.10 PATCH #80)
;
; In certain cases when an UPDATE fails for Duplicate Key (Error 5) the
; update operation may not be undone properly. This can result in
; subsequent status 9s or 4s on a GET_EQUAL for a limited number of other
; keys which may have been corrupted by this failure. This bug corrects
; the preimaging call to fix this.
;
; beginning of patch #27
;
r 6692 24
;
; end of patch #27
;
; * * * * * * * * * * * * * * * * * * * * * * * * * *
;
;28. Btrieve ( NLM ) (XREF v5.10 PATCH #86)
;
; After an Update is done on a file with compressed records, positioning
; is lost. A Get Position will return a status 8; a Get Next will skip
; to the next key value, ignoring the next duplicate, if any. Similarly,
; after an Insert is done on a file with compressed record, a
; Get Previous will skip to the previous key value, instead of the
; previous duplicate, if any.
;
; beginning of patch #28 ( must have patch 10 also!!! )
;
r c9af e8 6a 00 00 00 90
r ca1e 8B 02 0F B7 50 16 0B D2 75 07 0F B7 90 0e 01 00 00 C3
;
; end of patch #28
;
; * * * * * * * * * * * * * * * * * * * * * * * * * *
;
;29. BTRIEVE ( NLM ) (XREF v5.10 PATCH #87)
;
; Sometimes a DELETE following a STEP_FIRST, then STEP_PREVIOUS
; would return a conflict status 80 because the position was lost on the
; failed STEP_PREVIOUS (error #9). This fix restores the position.
;
; beginning of patch #29
;
r 3ee2 e8 56 8b 00 00
r ca30 50 8b c7 e8 0a e0 ff ff 58 89 45 e0 85 c0 c3
r a63e e8 66 79 ff ff 90
r 1fa9 89 c6 50 eb 07 90 90 90 90 90 90 90
r 1fb5 e8 3e 8a 00 00 58 66 8b 78 10 c3 90 90
;
; end of patch #29
;
; * * * * * * * * * * * * * * * * * * * * * * * * * *
;
;30. BTRIEVE (NLM) (XREF v5.10 PATCH #88)
;
; A Conflict error (status 80) is returned when Updating or Deleting,
; even though there is only one workstation accessing the file. This
; bug will only appear if the record being updated/deleted contains
; a certain pattern of data: all bytes except the first four must be
; binary zeroes, and some other, complicated conditions must be met.
;
; beginning of patch #30
;
r 635a eb 07 90 90 90
r 6966 eb 10 90 90 90
; end of patch #30
;
; * * * * * * * * * * * * * * * * * * * * * * * * * *
;
;31. BTRIEVE (NLM) (XREF v5.10 PATCH #89)
;
; When two clients are pointing at the same record in a file and one of
; them does an update which changes its key, the second client will get
; an unpredictable, out of sequence record on his next GetNext. This
; patch makes his current record invalid but leaves the next and previous
; pointers alone to maintain the relative position for that second user.
;
; beginning of patch #31
;
r 20dc eb 08 90 90 90
; end of patch #31
;
; * * * * * * * * * * * * * * * * * * * * * * * * * *
;
;32. BTRIEVE(NLM)
;
; Fixes a problem in patch 31 which causes the following problem: after
; an Update which changes a record's key value, a subsequent
; Get Previous skips any records whose key value is a duplicate of
; the (new) key value of the record which was just changed.
;
; beginning of patch #32
;
r 20d7 66 8b 4d fc 66 3b 4f 24 75 0f 89 f8 8d 5d 9c 33
c9 41 e8 f8 fd ff ff eb 2a
t 06/13/91
; end of patch #32.
;
; * * * * * * * * * * * * * * * * * * * * * * * * * *
;
;33. BTRIEVE(NLM)
;
r 160e b7
t 10/14/91
;
; end of patch #33.
;
; * * * * * * * * * * * * * * * * * * * * * * * * * *
;
;
; END OF PATCHES FOR BTRIEVE.NLM ver 5.10 for Netware 3.10
;